Field of the Invention
The present invention relates to an image forming apparatus that executes rendering processing and the like in parallel using, for example, a plurality of rendering processing units, and to a control method therefor.
Description of the Related Art
There are demands to increase the speeds of various types of image processing in an image forming apparatus, including rendering processing (RIP) for forming raster-format image data by interpreting vector-format rendering data generated by a host computer or the like and described in a page description language (PDL). Generally, rendering processing may require a large amount of computation depending on the complexity of rendering objects, such as characters, photographs, and graphics, included in rendering data. One known effective method to increase the speed of such image processing is to cause a plurality of image processing units to operate in parallel with respect to image data obtained by dividing a single page into predetermined partial regions. However, rendering processing that handles vector-format rendering data is not necessarily increased in speed in accordance with the number of rendering processing units due to overhead induced by the division, and thus makes it necessary to increase the efficiency of parallel processing by maximizing the processing capabilities of the plurality of rendering processing units. For example, in view of the properties of a rendering processing algorithm (a scanline method), it is preferable to execute band-based parallel processing by dividing a page into partial regions in a sub scanning direction (i.e., division lines are along main scanlines), which reduces division-induced overhead in rendering processing compared to a main scanning direction. In this way, processing that is additionally required in parallel execution of rendering processing (e.g., processing for skipping the reading of rendering data, and buffering) can be kept to the minimum. In addition, for example, it is preferable to execute parallel processing by performing the division into partial regions in such a manner that a division width corresponds to a band unit so as to minimize the difference between processing time periods of the plurality of rendering processing units that operate in parallel. In this way, each of the plurality of rendering processing units that execute parallel processing by dividing a rendering processing region can operate without waiting for completion of rendering processing by a slow rendering processing unit(s) as long as possible. For example, Japanese Patent Laid-Open No. 2000-132350 discloses the following technique: when executing parallel processing by dividing a rendering processing region, a predicted load value is calculated on a per-scanline basis, and division based on the predicted load values and fixed-width division are combined in allotting the rendering processing region.
Although the technique described in Japanese Patent Laid-Open No. 2000-132350 can increase the efficiency of parallel processing through well-balanced allotment of band units to a plurality of rendering processing units on the basis of load prediction, it has the problem of requiring new load prediction processing before allotting the band units. Generally, this load prediction processing obtains the frequencies of appearance of characteristic amounts (e.g., edges and levels) of a rendering object targeted for rendering processing contained in intermediate data (DL), and calculates the products of the frequencies and a unit processing time period as predicted load values. Therefore, in the case of complex rendering data, the load prediction processing takes long, and the intended start of rendering processing could possibly be delayed due to the wait for completion of the load prediction processing. Furthermore, as the load prediction processing faces tradeoff between the precision and the speed, it has the problem of extending a prediction time period when excessively simulating the actual rendering processing to increase the precision, and of reducing the precision when excessively simplified.